Modern communication and data networks comprise network nodes, such as routers, switches, bridges and other devices which transport data through a network. Over the years, the telecommunication industry has made improvements to the network infrastructure and especially to the nodes used in this network infrastructure to support an increasing number of network protocols but to also allow for defining rules, specifications and standards that have to be met by the network infrastructure (also called constraints or constraint parameters in the following).
Creating and coupling complex network nodes to form network infrastructure that support and implement various standards and protocols, e.g. which allow virtual private networks (VPN), require that the nodes can be easily configured.
To allow an easy configuration and management of a large number of network infrastructure nodes, software-defined networking provides an approach to achieve this goal.
In SDNs, in principle, the configuration of a network node is decoupled from the physical setup of the network nodes. This allows, on an abstract level, to define the requirement of how and where the network data is sent (this is often referred to as the “control plane”). An underlying, more physical plane exists, that actually forwards the data to the selected destination according to the requirements set on the control plane (this portion of the setup is typically called “data plane”).
Therefore, in an SDN the data forwarding capability is decoupled from the routing, resource and other management functionality, which was previously performed in the network nodes. Network nodes, such as virtual switches (e.g. an open virtual switch, open vSwitch (OVS)), that support SDN (i.e. that are SDN-compliant) may be configured to implement the functions according on the data plane, while the control plane functions may be provided by an SDN controller managing and controlling the configuration on the data plane.
An application programming interface (API) may manage the interaction between the data plane and the control plane and allow for the implementation of (non-vendor specific) combinations of networking nodes and SDN controllers within a network. As a result, SDNs in conjunction with the provided API service may provide numerous benefits to network infrastructures which, e.g., include increased network virtualization, flexible control and utilization of the network but also customization of networks according to specific requirements and the optimization of the data flow through the network.
Typically, the control plane which comprises the SDN controller interacts with an “application plane” through the API. On the application plane, SDN applications are provided, which communicate their network requirements and desired network behavior to the control plane. In addition, they may consume an abstracted view of the network for their internal decision making process. An SDN application may also expose another layer of abstracted network control thus offering one or more higher level interfaces which can be used to communicate with the application.
In order to optimize the data forwarding through in the networked computing system, it is beneficial to also perform the network optimization in an SDN application as this allows keeping the relatively unchanged or completely unchanged control plane with a relatively unchanged SDN controller.
The disclosure hence aims at proving improved optimization functionality on the application plane level which allows optimizing the data forwarding through the system.